Closed corysimmons closed 2 years ago
yes, but just for auth. on the backend we’ve used firestore for over a year, but we’re changing to a dgraph graph db (no, that’s not a typo lol). if you’re good at backend caching and stuff, firestore should be okay for most stuff. it worked well for us. but i didn’t do the backend there, my cofounder did. firebase auth is great. we use RNFB on ios and firebase JS on Web.
my next.js talk (and the code on my website, linked to at the end) covers this.
talk: https://www.youtube.com/watch?v=0lnbdRweJtA resources (including useParam hook): http://fernandorojo.co/conf
I'm all about DGraph (graph dbs > everything). Your stack keeps getting better and better.
my next.js talk (and the code on my website, linked to at the end) covers this. I saw the talk but maybe I missed the part where you went over why you use it. https://gist.github.com/nandorojo/052887f99bb61b54845474f324aa41cc clarifies and is really interesting. I like that pattern a lot.
Alright, thank you so much for all your help!
I also discussed this stack in this podcast: https://reactnativeradio.com/episodes/rnr-224-react-native-web-on-nextjs-with-fernando-rojo
at minute 20:50, I go deeper into reasoning for using URLs/query parameters for our React State.
Very cool. Doing chores now so I'll definitely give it a listen! Thank you again.
@nandorojo Thoughts on using something like Turborepo with https://www.npmjs.com/package/@turborepo/adapter-expo for Solito?
I wouldn't use that, I think it's outdated. This is my metro file:
// Learn more https://docs.expo.io/guides/customizing-metro
/**
* @type {import('expo/metro-config')}
*/
const { getDefaultConfig } = require('expo/metro-config')
const path = require('path')
const projectRoot = __dirname
const workspaceRoot = path.resolve(__dirname, '../..')
const config = getDefaultConfig(__dirname)
config.watchFolders = [workspaceRoot]
config.resolver.nodeModulesPath = [
path.resolve(projectRoot, 'node_modules'),
path.resolve(workspaceRoot, 'node_modules'),
]
config.transformer = {
...config.transformer,
minifierPath: require.resolve('metro-minify-esbuild'),
minifierConfig: {},
}
module.exports = config
I also installed metro-minify-esbuild
Yeah I figured it was outdated, but there are some other boilerplates like https://github.com/Enricopv/turbo-boilerplate that use Turborepo. I suppose my question is more generic: what do you think of Turborepo?
it seems useful, i use it for the next side. I don’t really see what value it adds for expo though. I’ve asked many times on twitter and get nothing. they don’t do remote caching for EAS, so i’m not sure what else it could do exactly, since you don’t want it for running expo start
What monorepo do you prefer [just re-read "i use it for the next side"] and what is the folder structure? Tried looking at Solito examples but it's not ready. :(
@corysimmons Hey, im also trying out solito recently. I made minimal monorepo example here. Hope this helps a little!
@kuk941025 That's awesome! Thank you so much!
@nandorojo Is there any chance of getting Solito (solito/link) to work outside of Next? Specifically I would love to use it across Next, Expo, and a Preact SPA. I looked at the solito/link build and noticed it uses next/link.
My plan with this library is to target Next.js on the Web side. However, you could peak into the Link code and fork it for any other Web libraries too.
Okay thank you.
I'm about to build my own product using a very similar stack to your Next/Expo one and had a couple questions if you'd be nice enough to answer them:
Thank you again for all your help, transparency, and tools you're developing to make this stack an enjoyable experience!