We've open sourced our shared libraries/packages

Hi!

Over the past decade, we’ve been working on improving our code base by creating a framework that we use in our various apps (37 and counting), first for the Atlassian Server/DC products and gradually expanding it to support Atlassian Connect.

After an initial copy/paste approach, we have been moving larger parts of that framework into multiple packages, living together in a single monorepo. The goal has always been to make this available to the Atlassian developer community, and today I’m happy to say that we’ve made it public.

You can find the monorepo here:

You will find that most of the code is geared towards use within the context of GCP Firebase, because this is what we use for hosting our Atlassian Connect apps.

Although this may not be immediately useful to those who have chosen a different platform, or are using ACE, it might still be beneficial to see how we have solved certain overarching concepts within the Atlassian Ecosystem.

The entire repository and all packages are released under the very permissive Apache 2.0 license, meaning that you are free to copy & modify any of the code and use it commercially within your projects.

Just as long as you make sure to read the disclaimer below :slight_smile:

I hope this helps those who are just getting started, and for those who have already done the hard work themselves, your efforts will either be validated, it will help you improve your existing code or it will show how much further you are compared to us. Sounds like a win-win-win to me :smile:

Disclaimer

It is important to note that this is specifically created to help our (Collabsoft) own app development goals.

We do not provide any warranty as to the stability of features or the (continued) availability of packages. Collabsoft retains the sole right to make architectural choices without any regard to how this may impact other projects.

We also provide minimal to no documentation. The project is built using Typescript, so typings are supported, but that’s about it. If you want to know what a certain package and/or function is doing, you’d best look at the source code.

So why did we make it open source?

Because we hope that the Atlassian developer community can benefit from what we’ve been doing.

Please feel free to browse the code, copy it, adjust it, learn from our mistakes and improve it to your own benefit.

The code has been published with a permissive license (Apache 2.0) and can be used in any way you seem fit for your operation.

You are still more than welcome to install the packages from our Github package repository, but be aware that doing so is at your own risk

Contributions

Obviously we’re open to any contribution in the form of issue reports and/or PRs, but we do not give any guarantees as to whether these will be fixed and/or merged.

It is recommended to file an issue before starting work on a PR to make sure that we agree to the proposed fix before you start doing any work.

Again, there is no documentation on how to build this project locally. You’ll have to figure it out yourself. We can provide some guidance once you’ve filed an issue report and all parties agreed that this is worthy of a PR.

32 Likes

Thanks for sharing!

father of Atlas

Good boy :slight_smile:

Nice one Remie!

Many of these aren’t applicable to me since I’m not using the same underlying services (e.g. no Firebase) and don’t have a Confluence app, but even still it’s great just looking through your code and seeing the choices you’ve made.

Lots of good learning opportunities for me in this! Thank you!

3 Likes

Now that we have made our shared libraries public, we were also able to make the Built with Connect and Built with Forge projects open source!

2 Likes