Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 9.13 KB

File metadata and controls

69 lines (51 loc) · 9.13 KB

Pulsar Backend / Atom Backend

code style: prettier Codacy Badge codecov Project Board

CI - Standards CI - Tests

All Contributors

Introduction

With the unfortunate sunset of Atom announcement, the community of its users couldn't allow the editor and its ecosystem to sunset with it. One major aspect of that ecosystem now lives here. The ability to search install and publish the huge repository of Packages all relied on the Backend Server that Atom had originally maintained, while the rest of the Atom project is open source and can easily be forked unfortunately the same isn't true of the Atom.io Package Repository Server.

What this means is that days after the initial announcement work began to reverse engineer* how the backend functioned and behaved, resulting in the original confused-Techie/atom-backend, the origins of this project. But the goals of this new Backend are twofold. Since the original creator of this repo is a part of Pulsar, the emerging fork of Atom, the eventual goal for Atom Backend has always been to serve the needs of Pulsar, its editor and its community. But in the interest of providing the most value to the Open Source community the first (v1.0.0) release of Atom Backend will be, as closely as possible, a drop in replacement of the original Atom.io Backend. Meaning that any other forks of Atom that may emerge will be able to use this repository without issue, and without any changes other than changing the URL their editor reaches out to.

Even further the team that created this repo have also created the tools necessary to archive the entirety of Atom's Atom.io Package Repository. Every single package and version. This has allowed Pulsar to have a running start with a drop in replacement of a Backend Server that already contains every single package that was previously published, with of course some very few exceptions.

What all of this does implicitly mean, is the repo confused-Techie/atom-backend will aim to only ever reach Feature Parity with Atom's Original Atom.io Backend Server, so that once it hits version 1.0.0 development will stop. The repo will forever aim to be an easily obtainable drop in replacement of the original Atom.io Server. But as for new features, new developments and improvements of the Backend Server will occur on Pulsar's pulsar-edit/package-backend repository, as those changes will be intended for the Pulsar Editor, and may eventually result in incompatibility with Atom.

If you a user of Atom want to continue being able to install and search packages but don't want to manage your own backend infrastructure, you are able to change the URL your Atom instance points to, such as the backend in use for Pulsar. Be warned that eventually an improvement or change intended for Pulsar will break how it interacts with Atom. Unfortunately the team of Pulsar would be unable to maintain both a backend for Atom users and Pulsar users. But if someone else would like to maintain the infrastructure for Atom users, then this is the repository you need to do so.

Summary / Links

Creating this code base and the interactions it has, has been a massive feat with extreme thanks going out to the contributors that assisted in creating this and getting us to a point of stability where we now have hundreds of requests every single day providing a great service to all users of Pulsar.

If you'd like to learn more about the Pulsar / Atom Backend or learn how to contribute then check out the links below:

  • If you'd like to understand at a high level how the package-backend works read our Architecture file.
  • If you'd like to contribute, read the docs.
  • To read about the original research and code that started the backend, visit Atom Community Server Backend which was the original codebase of this project written in Golang. This was later switched to JavaScript to provide more broad support from contributors.
  • To visit the source code of the Pulsar Backend Package Repository.
  • To visit the source code of the Atom Backend.
  • If you're package that was Published to Atom is/isn't available refer to our docs on what to do.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

confused_techie
confused_techie

💻
Giusy Digital
Giusy Digital

💻
DeeDeeG
DeeDeeG

🤔
ndr_brt
ndr_brt

💻
Daeraxa
Daeraxa

📖
Justin White
Justin White

💻
Spiker985
Spiker985

📖
PolariTOON
PolariTOON

💻

This project follows the all-contributors specification. Contributions of any kind welcome!