Retrospective: Add a 3rd-party library to an IPFS site

What was the outcome?

Original goal and what you ended up making.

The plan was to create an IPFS site/application that uses 3rd party dependencies. Specifically, I wanted to update the self hosted development environment created in a previous tutorial to use a code editor. Since the required functionality was there this time I could successfully add the code editor!

Did you accomplish more or less than the original app idea?

It felt just about right!

Did the idea evolve or change drastically through the process? If so, how did these changes affect the outcome?

A lot of the changes happened in prior work and things come together nicely this time!

What was the process like?

Describe making the app

Once again it was an iterative process, but with less restarts this time! The tutorial is short and sweet, but the payoff feels good at the end having a code editor with syntax highlighting and other features!

Some reflection on the process:

Discussion

Future improvements and ideas

The upload feature still lacks progress feedback which is not ideal when uploading many files.

Suggestions for Agregore or the underlying protocols

Working with in Agregore and storing files in a local node is a fun and easy way to play around with code without having to run the code somewhere (aka setting up a server/hosting environment). It could be a useful tool for people just getting started with HTML and web development!

JavaScript modules hosted on IPFS seems like it should be a great match, but I ran into several problems when I tried to use ESM builds from CodeMirror and had to use rollup to build a custom esm package that included all the needed parts without any conflicts or duplicates. It seems worth investigating if there is a way to resolve the issues I encountered.

Conclusion

Things played out well this time round! I hope the code editor and tutorials prove useful for someone.