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

devex: npm -> bun #115

Closed
wants to merge 5 commits into from
Closed

devex: npm -> bun #115

wants to merge 5 commits into from

Conversation

IldenH
Copy link
Member

@IldenH IldenH commented Feb 8, 2025

Blocked inntil #114, grunnet at bun 1.2 har gode endringer som bedre lockfile.

Bun er lynraskt og gjør dermed dev experience mye bedre. Det er raskt nok til at det ikke er dumt å anskaffe dependencies i makefilen.

Eneste ulempen med bun er ustabilitet og manglende funksjoner mot det vanlige npm økosystemet. Om dette blir et problem kan vi alltids bytte tilbake, utifra min testing er bun en drop-in replacement. Utover det failer checks.

Jeg har:

  • Sjekket andre issues og pull requests
  • Formatert koden med make format
  • Fikset linting errors fra make lint
  • Testet koden med make
  • Dokumentert endringene i /docs
  • Fulgt retningslinjene for kontribuering

@IldenH IldenH added the blocked label Feb 8, 2025
@kluvin
Copy link
Member

kluvin commented Feb 9, 2025

Jeg støtter bun.

Har hatt en issue med bun som gjorde det vanskelig å bruke i en jobbsammenheng.

oven-sh/bun#11621

Man må bare være litt obs når man gjør mer og mer niche ting.

@IldenH
Copy link
Member Author

IldenH commented Feb 9, 2025

Jeg støtter bun.

Har hatt en issue med bun som gjorde det vanskelig å bruke i en jobbsammenheng.

oven-sh/bun#11621

Man må bare være litt obs når man gjør mer og mer niche ting.

Om bun blir et problem kan vi alltids bytte tilbake.

Jeg klarer ikke finne ut hvordan få firebase deploy til å ikke bruke npm da den forventer package-lock.json som ikke skal brukes om vi bytter til bun. Noen ide for hvordan fikse?

@kluvin
Copy link
Member

kluvin commented Feb 10, 2025

tror problemet våres er her:

https://github.com/FirebaseExtended/action-hosting-deploy/blob/7a831e3ee9349aecd334c2cc01080a2c71a29509/src/deploy.ts#L85

Vi kan slå av hosting som bruker action-hosting-deploy, og kun bruke app hosting.

@IldenH
Copy link
Member Author

IldenH commented Feb 10, 2025

tror problemet våres er her:

https://github.com/FirebaseExtended/action-hosting-deploy/blob/7a831e3ee9349aecd334c2cc01080a2c71a29509/src/deploy.ts#L85

Vi kan slå av hosting som bruker action-hosting-deploy, og kun bruke app hosting.

Skal jeg bare fjerne de to workflowsene da?

@kluvin
Copy link
Member

kluvin commented Feb 10, 2025

Jeg forsøkte nå å self-hoste action runneren. Men tror litt mer må gjøres:

  • Sjekke at den vil ha bun runtime
  • Publisere på marketplace.

Jeg er veldig glad i CI pipelinen. Får du til å gjennomgått resten av stegene for å teste ut det å ha en fork?

For CI før nåværende endrig, fikk jeg opp:

The process '/usr/local/bin/npx' failed with exit code 2

Jeg er ikke sikker på hvordan dette antyder at package-lock.json har noe med saken, men jeg synes jo det problemet her er enda merkeligere.

@IldenH
Copy link
Member Author

IldenH commented Feb 10, 2025

Jeg forsøkte nå å self-hoste action runneren. Men tror litt mer må gjøres:

* Sjekke at den vil ha bun runtime

* Publisere på marketplace.

Jeg er veldig glad i CI pipelinen. Får du til å gjennomgått resten av stegene for å teste ut det å ha en fork?

For CI før nåværende endrig, fikk jeg opp:

The process '/usr/local/bin/npx' failed with exit code 2

Jeg er ikke sikker på hvordan dette antyder at package-lock.json har noe med saken, men jeg synes jo det problemet her er enda merkeligere.

Litt lengre oppe i erroren prøver den å runne npm i --omit dev --no-audit som forventer en lockfil.

@LilleAila foreslår en git patch som vi runner i workflowen i stedet for å lage en egen fork.

@kluvin
Copy link
Member

kluvin commented Feb 10, 2025

Jeg visste ikke det var mulig!

Først, så må vi forsikre oss om at bunx faktisk er tilgjengelig i runtime for runneren, samt at det er problemet.

Det bør være mulig å firebase-deploy med bun.

@kluvin
Copy link
Member

kluvin commented Feb 10, 2025

Jeg så litt mer i loggene.

> Using @sveltejs/adapter-node

Oppstår før den problematiske npm i kommandoen. Jeg er enda usikker på hvorfor det er tilfellet at adapter-node blir brukt her. En ting verdt å ha i baktanke er at så å si alt så har med hybrid-apper (sveltekit, next, etc) i Firebase er i en slags form for beta.

Vi bruker nå webframeworks.

Webframeworks er i seg i beta og støtte for Sveltekit er eksperimentelt. Webframeworks i Hosting kommer sikkert til å bli deprecated i fremtiden favør for App Hosting. Akkurat nå er App Hosting litt dårligere feature-messig, men vi kjører en klone av siden på https://kaffediem--kaffe-diem.us-central1.hosted.app/, og https://kaffediem--kaffe-diem.europe-west4.hosted.app/

Dette er egentlig ganske rotete. Jeg valgte Firebase fordi jeg vet de er de eneste som ikke tar betalt bare for å invitere flere team members. Men for SSR er det absolutt ikke et optimalt valg. Vi kan gjerne grave litt neste uke, men per nå tror jeg ikke sveltekit+bun+firebase er den rette veien å gå.

@IldenH
Copy link
Member Author

IldenH commented Feb 10, 2025

Jeg velger å lukke PR-en for nå, grunnet den for det meste var et eksperiment for å se hvor lett det er å bytte. Foreløpig har vi andre PR-er som er viktigere å fokusere på: #114 og #77.

@IldenH IldenH closed this Feb 10, 2025
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.

2 participants