Recommendations for local Bitwarden Web development

I’m not sure if this is the right place to post this. Please advise if I need to re-post it somewhere else.

I’m planning to contribute a feature to Bitwarden Web. I manged to run the app locally. However, it’s very tedious to have to reenter the master password every time I change a visual element just to see if it looks right. Is there a way to avoid having logging in if the feature I’m developing doesn’t actually require accessing the backend or the API?

This is the feature I’m working on adding:

Hi @ditek,

Thanks for working on this!

Are you running the frontend in development mode? If so, you should be able to log in once and see live changes in the code to the UI without doing a full rebuild from shutdown. This is what I was able to do.

Cheers,
Snails

No, I’m not. How do I enable that?
I just enabled pointing to the production API according to the instructions in the Readme (GitHub - bitwarden/web: The website vault (vault.bitwarden.com).). I imagine otherwise I would have to run the whole thing (API, DB, etc.) locally, right?

Hi @ditek,

You can run a development environment with npm run build:prod:watch. This runs the app against the production server, and I was able to make live changes in code. You’re correct that if you do not run against production, you must host your own backend. This is possible with the bitwarden self-hosted service, which I was also able to do. Please let me know if you have any questions. I did try this a few months ago so something could have changed, but I think the intent is that you should be able to make changes in a development environment and not need to log in every time.

Also to actually answer your question: I tried to make a change today and it actually made me log in each time the change was compiled :roll_eyes: I was wrong, and I don’t know how to help this :cry:

Best of luck,
Snails

1 Like

That’s exactly my question. I am using the command you mentioned, but it’s very inefficient to have to log in for every simple change :disappointed:.

Thanks for trying to help. Hopefully someone from the development team could chime in and give some ideas.