-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Ignite X release commit #2803
Merged
Merged
Ignite X release commit #2803
Conversation
This file contains 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
* feat: cng ftw * fix(babel-config): simplify plugins with SDK 50 * fix(boilerplate): remove unused eslint pkgs * fix(cli): reword workflow question * fix(cli): remove unnecessary warning
* feat(boilerplate): mmkv in over async storage * fix(cli): remove async storage new arch specifics * test(boilerplate): mmkv clean up * fix(boilerplate): storage.load with just a string * test(boilerplate): storage test types
… Switch (#2667 by @frankcalise) * refactor(toggle): split to Checkbox, Radio and Switch components * fix(boilerplate): update demos to use specific toggle components * updating deprecated reanimated Extrapolate * TS fixes * docs: explode Toggle docs to Checkbox, Radio, Switch * docs(components): added Checkbox, Radio, Switch to main listing * fix(boilerplate): remove reanimated from Checkbox * fix(boilerplate): remove reanimated from Radio * fix(boilerplate): checkbox, radio match old duration times from default reanimated values * fix(boilerplate): remove reanimated dep from Switch * docs(toggle): tsx formatting * refactor(boilerplate):drop prefix from component specific props * some missed props * fix(boilerplate): toggle components accessibilityRole --------- Co-authored-by: Mazen Chami <mazenchami@gmail.com>
…@Jpoliachik) Co-authored-by: Frank Calise <fcalise@gmail.com>
Updates dependencies according to errors from EXPOD_DOCTOR_ENABLE_DIRECTORY_CHECK=1 npx expo-doctor@latest. Note this command will still complain about Flashlist. Flashlist 1.7.0 is installed because we're pointing to ^1.6.4 and expo-doctor expects exactly 1.6.4. Looking at the changes in 1.7.0, I think we want to keep this: https://github.com/Shopify/flash-list/releases/tag/v1.7.0. That means this error will continue to exist. I looked at silencing the dependency warning, but right now we can't do it in a way that's dependent on the version, so it would be silenced for Flashlist forever until somebody remembers to check, which I think could lead to missed upgrades in the future, so I'd prefer to leave it as-is.
This PR adds theming support to the ignite boilerplate as well as relevant documentation on how to use the theming system.
* Upgrade RN To fix expo/expo#31005 * Workaround for 0.74.5 upgrade Without this patch, the JS bundle fails to load with: ``` iOS Bundling failed 3255ms node_modules/expo/AppEntry.js (1892 modules) Unable to resolve "react-native/Libraries/Utilities/DevLoadingView" from "node_modules/@expo/metro-runtime/build/LoadingView.native.js" ``` This is in a conditional in LoadingView.native.js that should load the correct one, and does, so this appears to be an issue with conditional requires. I'm not sure how to fix that underlying issue just yet, so patching for now.
* Prevent screen jump Android and iOS were both jumping when navigating from the Welcome screen to the Demo Showroom screen (although in different directions, and Android was less severe). I found this issue was prevented when we use the `<StatusBar>` component on the WelcomeScreen as well as DemoShowroom, so converted WelcomeScreen to use the built-in `Screen` component, which includes `<StatusBar>`. However, that raised another issue: when navigating from the Login screen to the Welcome screen, the "fixed" `Screen` component on Welcome screen would render the wrong height; it would be slightly too tall. This didn't occur when changing presets and reloading the app via fast refresh, which indicated to me that it was likely due to a state change that was using the "old" screen dimensions from Login screen, but then was incorrect after another state change took place on the Welcome screen. I found that was correct: the `useHeader` hook was using useEffect, which means that header height wouldn't be set until the second render, so when the KeyboardAvoidingView on on Welcome screen tried to render, it had the wrong height information and rendered the wrong size. By using `useLayoutEffect`, we make sure the header height is set before any of the screen components try to render, fixing the issue. * Spacing is unused when generating with no demo causes a lint error in a generated project, so fixed
The library that this was patching was fixed; in addition, this patch not applying to the new version was causing `ignite new` tests to fail.
* docs: Add a contributing home page (#2718 by @lindboe) [skip ci] * Add a contributing home page This entry point is intended for quick instruction on how to accomplish development tasks, and then links out to deeper guides on contributing from there. Not sure why I had to add that full path to _category_.json when that wasn't there before, but this was the only way to make it work locally with ir-docs * Link to contributing docs from README * Shorter path Earlier test failed because IDs are case-sensitive and the casing on the article didn't match Tour-of-Ignite --------- Co-authored-by: Frank Calise <fcalise@gmail.com> * feat(doc): add repo URL for ir-docs (#2734) * chore(release): 9.8.0 [skip ci] # [9.8.0](v9.7.2...v9.8.0) (2024-08-09) ### Features * **doc:** add repo URL for ir-docs ([#2734](#2734)) ([4f59af8](4f59af8)) * Remove demo patches along with dependencies (#2736) * Add logic to remove patches for any demo dependencies that are also removed * Add lint improvement --------- Co-authored-by: Felipe Peña <felipe@penya.cl> * docs: add component screenshots (#2739 by @jmejiamu) Co-authored-by: Frank Calise <fcalise@gmail.com> * fix(boilerplate): remove GestureHandlerRootView (#2738 by @frankcalise) [skip ci] * fix: support component testing (#2740 by @lindboe) There were some issues with out-of-date config when setting up component testing for the first time. This PR removes old configuration that's no longer necessary, and adds tests to ensure component testing continues to work. * chore(release): 9.8.1 [skip ci] ## [9.8.1](v9.8.0...v9.8.1) (2024-08-13) ### Bug Fixes * support component testing ([#2740](#2740) by [@lindboe](https://github.com/lindboe)) ([c7edf45](c7edf45)) * **boilerplate:** remove GestureHandlerRootView ([#2738](#2738) by [@frankcalise](https://github.com/frankcalise)) ([437e755](437e755)) * docs: add Robin's CR 2024 talk link (#2741 by @frankcalise) Co-authored-by: Jamon Holmgren <code@jamon.dev> [skip ci] * fix(cli): address outdated pkg vulnerabilities (#2733 by @frankcalise) [skip ci] * fix(cli): address outdated pkg vulnerabilities * fix(cli): fix sharp * fix(boilerplate): upgrade i18n-js (#2735 by @lindboe and @frankcalise) * fix(boilerplate): upgrade i18n-js * fix(boilerplate): i18n jest mock * docs(intl): update adding languages with doc link * docs(fix): RTL removal steps * chore(release): 9.8.2 [skip ci] ## [9.8.2](v9.8.1...v9.8.2) (2024-08-13) ### Bug Fixes * **boilerplate:** upgrade i18n-js ([#2735](#2735) by [@lindboe](https://github.com/lindboe) and [@frankcalise](https://github.com/frankcalise)) ([a171eae](a171eae)) * **cli:** address outdated pkg vulnerabilities ([#2733](#2733) by [@frankcalise](https://github.com/frankcalise)) ([c06d493](c06d493)) * feat(boilerplate): Make texts on demo components based on i18n (#2721 by @kei95) * chore(release): 9.9.0 [skip ci] # [9.9.0](v9.8.2...v9.9.0) (2024-08-20) ### Features * **boilerplate:** Make texts on demo components based on i18n ([#2721](#2721) by [@kei95](https://github.com/kei95)) ([9695670](9695670)) * docs(boilerplate): Punjabi is not RTL 😅 (#2751 by @jamonholmgren) Via: https://twitter.com/IndicGames/status/1825949273147716072 * docs: Fixed documentation link in Button (#2755 by @softwarebyze) * Missed merge conflict * Update snapshot for v10 format * Remove vim swap file * Some prettier fixes --------- Co-authored-by: Frank Calise <fcalise@gmail.com> Co-authored-by: Leon Kim <minusnine@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: Felipe Peña <felipe@penya.cl> Co-authored-by: Jose Mejia Munoz <jmejiamu@gmail.com> Co-authored-by: Kei Yamashita <44686790+kei95@users.noreply.github.com> Co-authored-by: Jamon Holmgren <code@jamon.dev> Co-authored-by: Zachary Ebenfeld <zackebenfeld@gmail.com>
* fix(boilerplate): generator destinationDir by default * fix(boilerplate): remove destinationDir from component default generator * fix(cli): update help with destinationDir example * feat(cli): add originalName, destinationDir and exact options for generation * feat(cli): implemented --destinationDir and --exact * docs: updated generator docs for new cli options * test(generate): match snapshot for expo router test * docs(generators): punctutation Co-authored-by: Lizzi Lindboe <lindboe@users.noreply.github.com> * fix(cli): destinationDir -> dir * fix(cli): exact -> case --------- Co-authored-by: Lizzi Lindboe <lindboe@users.noreply.github.com>
* feat(cli): experimental expo-router flag * chore: todo notes for expo router screen gen * fix(cli): always do expo install --fix check * fix(cli): prompt about expo-router, fix exp flags output in buildCliCommand * fix(expo-router): mst directives for template file * fix(cli): updates for mst markup * fix(cli): remove-mst src dir param * fix(cli): update generators for expo-router and obey --mst * fix(cli): clean up cmd with helpers * docs: update cli docs for expo router flag * fix(cli): remove unnecessary file patch for router conversion * test(cli): add expo router tests * fix(cli): router prompt grammar, tone down experimental barking * fix(cli): reworks --mst to --state=mst (#2731 by @frankcalise) * fix(cli): reworks --mst to --state=mst * refactor(cli): tidy up MST removal
… with "fixed" preset variant (#2722) * Temporary solution * Lint fix * Add new component for section and aware scroll view * Add documentation * Add new library to doc * Major version instead of major and minor * Fix lint issue * Move SectionListWithKeyboardAwareScrollView outside base components * Move component outside and match snapshot * Update import * fix: Add some necessary boilerplate linter plugins Linter was failing before. Needed these dev deps. (cherry picked from commit 6476e06) * Add React to package * Update component to func instead * Linter improve * Add remove file back * Improve scroll view behavior in screen * Update snapshot * Add new prop * Add justify content style only if preset is fixed * Linter fix * Add extra = symbol * Update react-native-reanimated version * Improve SectionListWithKeyboardAwareScrollViewProps implementation * PR feedback * Add fix to improve UX in Android * Improve format * Fix after merge * Remove yarn cache files * Remove unused import * Improve format * Mirror SectionList typing SectionList uses `any` by default for ItemType, and most people will specify the type of items within `renderItem`. So to keep supporting that usage, make `any` the default. --------- Co-authored-by: Mark Rickert <mjar81@gmail.com> Co-authored-by: Frank Calise <fcalise@gmail.com> Co-authored-by: Lizzi Lindboe <lindboe@users.noreply.github.com>
* Remove unnecessary babel deps * arrow-functions and shorthand-properties are brought in by babel-preset-expo * template-literals is only brought in by babel/preset-env, which babel-preset-expo doesn't use, but for now we do * Configure expo default prettier * Set up eslintignore Should primarily use eslintignore, but prettierignore is useful if running prettier w/o eslint * Rework package.json commands Eslint is running prettier now, so just pass that to "--fix". It's a little weird that "lint" was running format, up for discussion about what each should do. * Update config files to match lint rules Was ignored by linting before. Ignoring files may be useful if they are part of a template, and we never plan to customize the file; but if we do, linters may be useful for catching bugs. * Disable included array type rule We weren't using it previously. Causes errors like this: /Users/lizzi/dev/igniteTests/DepsFixing/app/utils/useSafeAreaInsetsStyle.ts 21:17 warning Array type using 'Array<ExtendedEdge>' is forbidden. Use 'ExtendedEdge[]' instead @typescript-es lint/array-type 21:39 warning Array type using 'Array<ExtendedEdge>' is forbidden. Use 'ExtendedEdge[]' instead @typescript-es lint/array-type 35:17 warning Array type using 'Array<ExtendedEdge>' is forbidden. Use 'ExtendedEdge[]' instead @typescript-es lint/array-type * Format files according to prettier These files were previously excluded, but I don't see why they should be * Fix rules of hooks issues * useRef for Animated.Value useRef is more appropriate when we have an Animated.Value and don't want components/hooks to react to state, and avoids exhaustive-deps issue * exhaustive-deps fixes * Importing React is no longer required for TSX/JSX * Re-add previous lint config One new addition: use quotes consistently in objects where at least one key requires quotes. * Format code after markup removal * Fix inconsistent indentation in messages * Add restricted imports rule to ensure consistent importing of React API * Update cli prettier to match boilerplate * Update typescript and typescript eslint tree... then leads to updating more eslint * Match quoteProps configuration of boilerplate * typescript-estree requires later version of node update to LTS on CI * Use consistent spacing on new command * Re-add react-native linter, PR feedback
…2772) * Initial change of imports to use a unified alias * More import updates to fix router app generation * Lint fix * Update test * Fix demo removal for i18n These lines weren't getting removed in demo and failed tests. Did we not have a test for removing demo and compiling? * Need to also transform test setup file * Lint fix * Print command output when it fails for easier debugging * Need to remove App.tsx when using expo-router * Fix patch removal I'm confused about this one, it appeared to work and printed `patches/patch.patch` originally, but now the path isn't including the directory. So added a new CWD to make sure the file gets deleted, otherwise bun fails. * This only applied for the splashscreen changes ...from the test it was copied from * Add error output to ignite-new test as well * Remove test output change for now Potential issue with buffer size. Update to use spawn later so we can stream output. * Make sure test doesn't time out * Pin eslint react plugin version They added a bug, there's a fix but it's unreleased: jsx-eslint/eslint-plugin-react#3821
Merge master->v10
* Initial update * Replace tooptions with i18next one * Progress * More progress * Update Button.tsx * Update to namespace synthax * More updates to keys * Properly setting language * Fix imports * Remove added files * Fix correct prop * Fix with format write * Fix mock for test * Return content back to gitignore * Delete added files * Update documentation * Remove React import * Add resolution for eslint-plugin-react * Replace right mock * Improve test definition * Fix array in text with new i18next separator * Add more mock functions for i18n * Remove resolutions key from package.json
* Initial update * Replace tooptions with i18next one * Progress * More progress * Update Button.tsx * Update to namespace synthax * More updates to keys * Properly setting language * Fix imports * Remove added files * Fix correct prop * Fix with format write * Fix mock for test * Return content back to gitignore * Delete added files * Update documentation * Remove React import * Add resolution for eslint-plugin-react * Replace right mock * Improve test definition * Fix array in text with new i18next separator * Add more mock functions for i18n * Remove resolutions key from package.json * Base files * Es base content * Improve text * Progress * More progress * Finish translating content * Run yarn format * Add found remove line to tests * Revert change to snapshot * Slight change
Master->v10 merge-up
master->v10 mergeup
Revert "Does this stop unnecessary logging in success case?" This reverts commit e8fcb9a.
…#2785 by @frankcalise) * fix(cli): proper union type for state mgmt when using prompts * fix(boilerplate): lint fix when mst is removed * fix(boilerplate): rehydrated not needed with removal of MST * fix(new): new arch compat libs
- `hasOwnProperty` does not work with i18n.languages, as it's an array. It is also empty on init. - Create function to find first supported locale among devices locales. (I experimented with passing multiple languages to i18next with a language detector, but its fallback language is not ideal and will just fall back to the global `fallbackLng` instead of trying the second option in the list.) - Do a little more to ensure we only set RTL to true if the locale we end up picking is RTL, although it's still not perfectly guaranteed here, as i18next could fall back to `en` for some reason. The problem is that we either need to set RTL immediately, or restart the app if RTL setting needs to change.
- Fix imports - Conditionally require locales - Add more locale support
Fix language switching and update date-fns to v4
Stream test command output to file for debugging purposes
BREAKING CHANGE: 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
frankcalise
approved these changes
Oct 14, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏 👏 👏
mazenchami
approved these changes
Oct 14, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 🚀 amazing job team!!
woo!! |
🎉 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
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.
Merge up PR for Ignite X release.
Semantic-release dry run generated this. I'm not sure why it formatted the bullets for the BREAKING CHANGE section like that, the first line is not a bullet in the commit, but I'm also not sure how to fix it so it seems fine to leave it be, it's still readable: