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): add bun support #2497

Merged
merged 14 commits into from
Oct 1, 2023
Merged

feat(cli): add bun support #2497

merged 14 commits into from
Oct 1, 2023

Conversation

frankcalise
Copy link
Contributor

Please verify the following:

  • yarn test jest tests pass with new tests, if relevant
  • README.md has been updated with your changes, if relevant

Describe your PR

  • Adds support for the bun package manager 🎉

image

semantic-release-bot and others added 2 commits August 8, 2023 02:50
## [8.8.7](v8.8.6...v8.8.7) (2023-08-08)

### Bug Fixes

* **cli:** correct cd command when targetPath has changed ([#2488](#2488) by bradherman) ([19a161e](19a161e))
Copy link
Contributor

@morganick morganick left a comment

Choose a reason for hiding this comment

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

Works as expected. I wonder if the commands are similar enough in all situations to where we could extract out a mapping of the commands for the package manager so the functions can be generic and the mapping can be updated per packager more easily.

@morganick
Copy link
Contributor

morganick commented Sep 11, 2023

Appears that tests are failing for it locally:

image

@jamonholmgren
Copy link
Member

This PR for Gluegun will add better Bun support over there as well.

infinitered/gluegun#783

@jamonholmgren
Copy link
Member

IMO, we should consider moving to Bun for local development of Ignite as well as CI (like I'm doing with Gluegun CLI). It'll speed up tests a lot.

@jamonholmgren
Copy link
Member

CleanShot 2023-09-19 at 09 48 30@2x

I'm getting a different local failure than @morganick.

@frankcalise
Copy link
Contributor Author

@jamonholmgren that looks like maybe you have ios/ and android/ dirs local left over from Ignite 8 dev. This branch is targeting Ignite 9 (although if we want to cherry pick it over we could)

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.

Let's merge it!

PizzaBunApp Outdated Show resolved Hide resolved
@frankcalise frankcalise merged commit 7d78fc6 into feat/rn-72-expo-49 Oct 1, 2023
1 check passed
@frankcalise frankcalise deleted the feat/bun branch October 1, 2023 18:46
@infinitered-circleci
Copy link

🎉 This PR is included in version 8.9.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

frankcalise added a commit that referenced this pull request Dec 13, 2023
* chore: RN 0.72.0-rc.3 and Expo 49 alpha.3

* chore: alpha4 expo 49 and RN rc6

* chore: package updates

* chore: remove webpack-config dep, expo uses metro now

* feat(web): metro over webpack for SDK 49

* chore: tsc fix

* Ignite Expresso (#2476 by @frankcalise)

* fix(cli): update generator for expo only

* refactor(boilerplate): App to typescript

* chore: simplify w/ expo

* chore: reanimated deps, other dep clean up

* fix(boilerplate): removed problematic @expo/metro-config to run dev client

* chore: updated native dirs as per expo dev client build

* chore: updates to latest Expo SDK

* test: update app-icon / splash section

* fix(cli): rename bridging header and entitlements

* chore(boilerplate): dep update

* docs(folder-structure): updated for rework

* chore: updates due to structure changes, tests passing 🤞

* fix(generators): add new line to end of app.json

* chore: update reactotron dev deps

* fix(boilerplate): WelcomeScreen needs this import even if demo removed

* fix(cli): remove deprecrated expo flag

* fix(boilerplate): match babel config more closely to expo default

* chore(cli): reactotron deps

* feat(cli): prompt for enabling new arch

* chore: remove unused log statements

* chore: expect TS error for now

* chore(boilerplate): RN 0.72.3

---------

Co-authored-by: Joshua Yoes <[email protected]>

* docs(readme): move documentation link higher, update versions

* feat(boilerplate): add in default eas.json for EAS Build

* chore(boilerplate): eas.json updates

* chore: cherry-pick 2e24ef8

* chore: remaining TS strict fixes

* feat(boilerplate): expo TS paths in favor of babel plugin

* fix(demo): podcast list data

* fix(demo): tab icons

* fix(boilerplate): podfile.lock

* overloading Array.filter for the special case of the Boolean constructor

* fix(boilerplate): update reactotron deps, type fixes

* chore: gitignore for flame cli 🔥

* refactor(cli): rework experimental flag for more flexible options

* fix(cli): kebab-case over camelCase for flags

* fix(ReactotronConfig): update to chain

* chore(boilerplate): remove native dirs

* feat(cli): workflow options go/prebuild/manual

* feat(boilerplate): add fabric bool to demo debug screen

* chore(boilerplate): dep updates

* fix(cli): workflow name value mapping

* fix(cli): fix cache issue with tests

* docs(releasing-ignite): fixed package.json snippet to be more accurate

* fix(cli): #2225 remove-demo finds all empty dirs

* fix(boilerplate): #2230

moved assets/icons that only pertain to demo into subdir for removal via remove-demo

* chore(boilerplate): update reactotron deps

* fix(cli): drop improper flag from prebuild

* feat(cli): add prebuild progress message

* fix(boilerplate): removed unnecessary expo deps

* fix(cli): new arch bools before prebuild

* chore: dir clean up, win32 compat

* feat(boilerplate): config plugin scaffolding (#2487 by @frankcalise)

* feat(boilerplate): added `withSplashScreen` config plugin

* docs: updated for local config plugin file structure

* fix(cli): new arch toggle

drop NA question for Expo Go

* docs(readme): add more badges

* docs(readme): remove expo badge

* Update README.md

Co-authored-by: Mazen Chami <[email protected]>

* chore(boilerplate): remove unused overrides

* fix(boilerplate): better new arch support

* chore(boilerplate) Update react-native to 0.72.5 (#2505)

* feat(cli): add bun support (#2497 by @frankcalise @jamonholmgren)

* chore(release): 8.8.7 [skip ci]

## [8.8.7](v8.8.6...v8.8.7) (2023-08-08)

### Bug Fixes

* **cli:** correct cd command when targetPath has changed ([#2488](#2488) by bradherman) ([19a161e](19a161e))

* feat(cli): add bun support

* fix: Specifies version of @expo/webpack-config to avoid dependency failure. (#2502 by @jamonholmgren)

* chore(release): 8.8.8 [skip ci]

## [8.8.8](v8.8.7...v8.8.8) (2023-09-19)

### Bug Fixes

* Specifies version of @expo/webpack-config to avoid dependency failure. ([#2502](#2502) by [@jamonholmgren](https://github.com/jamonholmgren)) ([94ddb85](94ddb85))

* docs: Update README.md -- add Getting Started video link (#2501 by @jamonholmgren)

[skip ci]

* Switch to bun for boilerplate scripts

* Use bun for CI tests

* Bump for ci

* remove demo app

* Bump bun-orb version

* bump bun-orb

* fix: removed ios remnants

merge from main probably

* fix(cli): display bun run command

---------

Co-authored-by: semantic-release-bot <[email protected]>
Co-authored-by: Jamon Holmgren <[email protected]>
Co-authored-by: Jamon Holmgren <[email protected]>

* fix(cli): Expo Go compat deps (#2508 by @frankcalise and @markrickert)

* fix(cli): Expo Go compat deps

* feat(tests) Add expo go config changes tests

I also moved around the expo go configuration and `findAndUpdateDependencyVersions()` function so that it would be easier to test.

---------

Co-authored-by: Mark Rickert <[email protected]>

* fix(boilerplate): update type import

* fix: ios compiling issue when the user specifies the new architecture (#2517 by @markrickert)

* feat(boilerplate) `@shopify/flash-list` integration and ListView HOC (#2513)

* feat(boilerplate) @shopify/flash-list integration

This integrates @shopify/flash-list in all places where we used to have a FlatList and updates the expo to compatibility object to use the correct expected version while using the latest for expo prebuild and bare workflows.

* fix: ios compiling issue when the user specifies the new architecture

* fix: Get FlashList working in new architecture using interop layer

iOS seems to have problems with flashlist using interop, but android seems to work just fine.

* feat: adds ListView Higher Order Component

Displays a FlashList or FlatList depending on language RTL features. Needs a little more work on the `ref` passing.

* chore: formatting

* refactor(boilerplate): ListView HOC types

* chore(tests) Tests passing after adding new ListView component

* ci: bun version lock

---------

Co-authored-by: Frank Calise <[email protected]>

* fix(boilerplate): inherit default metro from expo (#2526 by @frankcalise)

* fix(web): Fixes web implementation (#2528)

There was a problem with the web implementation because we were directly using `DrawerLayout` from `react-native-gesture-handler`. Moving to `Drawer` from `react-native-drawer-layout` (a react-navigation product) mitigates this issue without losing any functionality.

* docs: ir-docs dir structure

* chore(docs): Cleanup

* docs(upgrades): go/prebuild notes

* Align with master

* docs(readme): point to hosted site

* docs(readme): link directly to md for now

* docs: ir-doc release prep

* docs: added cli options

* docs: rework landing for getting started

* ci(ir-docs): orb setup

---------

Co-authored-by: Joshua Yoes <[email protected]>
Co-authored-by: Mazen Chami <[email protected]>
Co-authored-by: Jamon Holmgren <[email protected]>
Co-authored-by: Mark Rickert <[email protected]>
Co-authored-by: semantic-release-bot <[email protected]>
Co-authored-by: Jamon Holmgren <[email protected]>
Co-authored-by: Mark Rickert <[email protected]>
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.

6 participants